這堂課主要迴繞著 HTTP, TCP/IP, API 這些網路相關的知識。
跟我們最息息相關的應該就是 HTTP 的 request 和 response,這個在瀏覽器 devtool 打開來,應該都能很直接地看到。它們都有各自的 header 和 body。其實跟信封和信紙的感覺差不多, header 上面可能會寫寄件人、收信地址、信封種類…等等資訊,然後真正的內容放在 body 這樣。
request 和 response 的區別方式是看相對自己來說是「送出」還是「接收」?
client 的身分對應到一直發送 request 等待 response 的角色,而 server 就是一直等待 request 然後 response。client 是主動發起方,server 則是被動等待方。另外一種比較特別的叫做 p2p,那就是互相有來有往的那種,但網路大部分還是 client-server 的架構。
method 和 status code 相對來說會比較陌生,但 404 和 500 這兩個錯誤訊息可能大家或多或少都有看過。其實熟悉之後會發現還蠻有邏輯的。method 的部分主要是在 API 呼叫才會有差別,因為近年來流行 RESTful API 的關係,會鼓勵大家在開發的時候多用 GET, POST, PATCH, DELETE 之類的方式區分。詳細可以參考 HTTP 請求方法 - HTTP | MDN
const request = require('request')
const URL = "http://example.com"
request.get({ url: URL }, (err, res, body) => {
if (res.statusCode >= 200 && res.statusCode < 300) {
console.log(body)
}
})
推薦兩個用來寫 API 的工具
抱歉今天時間有點小趕,有機會的話再補完整一些 ?